There are a number of different control interfaces that may be used to provide input to a computer program. Examples of such interfaces include well-known interfaces such as a computer keyboard, mouse or joystick controller. Such interfaces typically have analog or digital switches that provide electrical signals that can be mapped to specific commands or input signals that affect the execution of a computer program.
Recently, interfaces have been developed for use in conjunction with video games that rely on other types of input. There are interfaces based on microphones or microphone arrays, interfaces based on cameras or camera arrays. Microphone-based systems are used for speech recognition systems that try to supplant keyboard inputs with spoken inputs. Microphone array based systems can track sources of sounds as well as interpret the sounds. Camera based interfaces attempt to replace joystick inputs with gestures and movements of a user or an object held by a user.
Different interfaces have different advantages and drawbacks. Keyboard interfaces are good for entering text but less useful for entering directional commands. Joysticks and mice are good for entering directional commands and less useful for entering text. Camera-based interfaces are good for tracking objects in two-dimensions but generally require some form of augmentation (e.g., use of two cameras or a single camera with echo-location) to track objects in three dimensions. Such augmentation can increase the cost of a camera-based system. Some camera-based systems employ face tracking software to track movement of a user's face in images obtained with one or more cameras. However, image tracking systems can sometimes be confused by objects that resemble a person's face. In addition, such systems may have difficulty distinguishing a person in an image from a background in the image.
It would be desirable to provide an interface that is intuitive to use and is also relatively inexpensive to implement that overcomes the above disadvantages.
It is within this context that embodiments of the present invention arise.